package org.jeecg.modules.geo.model;

import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.util.StringUtils;

import java.util.Arrays;
import java.util.List;

@Data
public class BimGeoAppAuthConfig {

    @Dict(dicCode = "ENABLE_FLAG")
    private Integer authEnableFlag;

    /**
     * 应用ID
     */
    private Integer appId;

    /**
     * 授权路径
     */
    private String authPath;

    /**
     * 方法
     */
    @Dict(dicCode = "GEO_REQUEST_METHOD")
    private Integer authMethod;

    /**
     * 数据传输方式
     */
    @Dict(dicCode = "GEO_REQUEST_DATA_METHOD")
    private Integer dataMethod;

    /**
     * 账号-Key
     */
    private String accountKey;

    /**
     * 账号-Value
     */
    private String accountValue;

    /**
     * 密码-Key
     */
    private String passwordKey;

    /**
     * 密码-Value
     */
    private String passwordValue;

    /**
     * Token路径
     */
    private String tokenPath;

    /**
     * 过期路径
     */
    private String expirePath;

    /**
     * 过期类型
     */
    @Dict(dicCode = "GEO_APP_AUTH_EXPIRE_TYPE")
    private Integer expireType;

    /**
     * 过期日期格式，如yyyy-MM-dd HH:mm:ss
     */
    private String expirePattern;

    /**
     * 过期日期偏移量类型
     */
    @Dict(dicCode = "GEO_APP_AUTH_EXPIRE_OFFSET_TYPE")
    private Integer expireOffsetType;

    /**
     * 偏移量路径
     */
    private String expireOffsetPath;

    /**
     * Header Key
     */
    private String tokenHeaderKey;

    /**
     * 超时时间(ms)
     */
    private Integer ttl;

    /**
     * token前缀
     */
    private String tokenPrefix;

    /**
     * code路径
     */
    private String codePath;

    /**
     * 成功code
     */
    private String successCode;

    /**
     * 授权失败code
     */
    private String authErrorCodes;

    public List<String> getAuthErrorCodeList(){
        return StringUtils.isEmpty(authErrorCodes) ? null : Arrays.asList(authErrorCodes.split(","));
    }
}
